#1-让用户输入5个用户的名字，然后将这个5个用户名字存在一个列表中，最后打印出来
startNum=1
endNum=5
namesList=[]
strName=''

print("请依次输入【%d】个用户的名字："%endNum)
while(startNum<=endNum):
    curInputName=input('请输入第【%d】用户的名字：'%startNum)
    if(curInputName==''):
        print("名称不能为空，请检查后重新输入！")
        continue
    else:
        namesList.append(curInputName)
        print("当前输入的第【%d】个用户名字【%s】成功！"%(startNum,curInputName))
        startNum=startNum+1
for name in namesList:
    print(name)   
    strName+=' '+name
print("当前输入的所有人名字为：",strName) 


#2-不仅显示原来的名字列表，还要显示出排序后的列表
print("\n不仅显示原来的名字列表，还要显示出排序后的列表")
namesListSort=namesList[:]
namesListSort.sort()
strName=''
for name in namesList:
    print(name)   
    strName+=' '+name
print("当前输入的所有人名字为：",strName) 
strName=''
for name in namesListSort:
    print(name)   
    strName+=' '+name
print("【排序后】当前输入的所有人名字为：",strName) 


#3-只显示用户键入的第3个名字
print("\n只显示用户键入的第三个名字")
print("当前用户键入的第3个名字是：",namesList[2])

#4-用户可以选择需要替换的一个名字，然后输入新的名字后替换
isLoop=True
isLoopNewName=True
while(isLoop): 
    print("当前的名字列表为：")
    print(namesList)
    needReplaceName=input("请输入需要替换的名字：")
    if(needReplaceName!=''):
        if needReplaceName in namesList:
            needReplaceNameIndex=namesList.index(needReplaceName)
            print("需替换的名字在列表的索引为：",needReplaceNameIndex)
            while(isLoopNewName):
                newName=input("请输入新名字：")
                if(newName!=''):
                    namesList[needReplaceNameIndex]=newName
                    print(namesList)
                    isLoop=False
                    isLoopNewName=False
                    break
                else:
                    print("名字不能为空，请重新输入")
        else:
            print(needReplaceName+" 名字不在列表中，请重新输入！")
    else:
        print("名字不能为空，请重新输入")

    
